#pragma once
#include <stdio.h>
#include <stdlib.h>
#include <assert.h>

typedef int DListData;

typedef struct DListNode
{
	struct DListNode* _prev;
	struct DListNode* _next;
	DListData _data;
}DListNode;

extern DListNode* CreateDListNode(DListData data);
extern void DListInsert(DListNode* pos, DListData data);
extern void DListErase(DListNode* pos);
extern void DListPrint(DListNode* phead);
extern DListNode* DListFind(DListNode* phead, DListData val);